<?php
/**
 * #Celebrate Shieh
 *             ,%%%%%%%%,
 *           ,%%/\%%%%/\%%
 *          ,%%%\c "" J/%%%
 * %.       %%%%/ o  o \%%%
 * `%%.     %%%%    _  |%%%
 *  `%%     `%%%%(__Y__)%%'
 *  //       ;%%%%`\-/%%%'
 * ((       /  `%%%%%%%'
 *  \\    .'          |
 *   \\  /       \  | |
 *    \\/         ) | |
 *     \         /_ | |__
 *     (___________))))))) 攻城湿
 *
 *        _       _
 * __   _(_)_   _(_) __ _ _ __
 * \ \ / / \ \ / / |/ _` |'_ \
 *  \ V /| |\ V /| | (_| | | | |
 *   \_/ |_| \_/ |_|\__,_|_| |_|
 */

namespace App\Modules\Blog\Http\Controllers;

use App\Modules\Blog\Service\ArticleService;
use App\Modules\Blog\Service\CategoryService;
use App\Modules\Blog\Service\CommonService;
use App\Modules\Blog\Service\FeedbackService;
use App\Modules\Blog\Service\FileService;
use App\Modules\Blog\Service\GalleryService;
use App\Modules\Blog\Service\LabelService;
use App\Modules\Blog\Service\LinkService;
use App\Modules\Blog\Service\ListService;
use App\Modules\Blog\Service\MaterialService;
use App\Modules\Blog\Service\MessageService;
use App\Modules\Blog\Service\NoticeService;
use App\Modules\Blog\Service\SearchService;
use App\Modules\Blog\Service\UserService;
use App\Services\UploadService;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    /**
     * @return UserService
     */

    public function getUser() : UserService
    {
        return new UserService();
    }

    /**
     * @return CommonService
     */

    public function getCommon() : CommonService
    {
        return new CommonService();
    }

    /**
     * @return ArticleService
     */
    public function getArticle() : ArticleService
    {
        return new ArticleService();
    }

    /**
     * @return CategoryService
     */
    public function getCategory() : CategoryService
    {
        return new CategoryService();
    }

    /**
     * @return LabelService
     */
    public function getLabel() : LabelService
    {
        return new LabelService();
    }

    /**
     * @return UploadService
     */
    public function getUpload() : UploadService
    {
        return new UploadService();
    }

    /**
     * @return ListService
     */
    public function getList() : ListService
    {
        return new ListService();
    }

    /**
     * @return LinkService
     */
    public function getLink() : LinkService
    {
        return new LinkService();
    }

    /**
     * @return NoticeService
     */
    public function getNotice() : NoticeService
    {
        return new NoticeService();
    }

    /**
     * @return MessageService
     */
    public function getMessage() : MessageService
    {
        return new MessageService();
    }

    /**
     * @return SearchService
     */
    public function getSearch() : SearchService
    {
        return new SearchService();
    }

    /**
     * @return FeedbackService
     */
    public function getFeedback() : FeedbackService
    {
        return new FeedbackService();
    }

    /**
     * @return GalleryService
     */
    public function getGallery() : GalleryService
    {
        return new GalleryService();
    }

    /**
     * @return MaterialService
     */
    public function getMaterial() : MaterialService
    {
        return new MaterialService();
    }

    /**
     * @return FileService
     */
    public function getFile() : FileService
    {
        return new FileService();
    }
}
